package com.yanfan.alarm.domain;

import lombok.Data;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yanfan.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 报警主机状态对象 nj_alarm_device_info
 *
 * @author genluo
 * @date 2024-10-31
 */

@Data
public class NjAlarmDeviceInfo implements Serializable{

private static final long serialVersionUID=1L;

    /**
     * 设备编码，主键
     */
    @Excel(name = "设备编码，主键")
    @TableId(value = "device_code" , type = IdType.ASSIGN_ID) // 字符串类型使用雪花算法
    private String deviceCode;

    /**
     * 设备名称
     */
    @Excel(name = "设备名称")
    @NotBlank(message = "设备名称不能为空")
    private String deviceName;

    /**
     * 设备状态：0-正常，1-报警，2-故障
     */
    @Excel(name = "设备状态：0-正常，1-报警，2-故障")
    private Long status;

    /**
     * 子系统数量
     */
    @Excel(name = "子系统数量")
    private Long subSystemCount;

    /**
     * 防区数量
     */
    @Excel(name = "防区数量")
    private Long defenceAreaCount;

    /**
     * 设备制造商代码
     */
    @Excel(name = "设备制造商代码")
    private String deviceManufacturer;

    /**
     * 设备型号代码
     */
    @Excel(name = "设备型号代码")
    private String deviceModel;

    /**
     * 制造商名称（字典值）
     */
    @Excel(name = "制造商名称（字典值）")
    private String deviceManufacturerStr;

    /**
     * 型号名称（字典值）
     */
    @Excel(name = "型号名称（字典值）")
    private String deviceModelStr;

    /**
     * 设备 IP 地址（IPv4）
     */
    @Excel(name = "设备 IP 地址（IPv4）")
    private String deviceIp;

    /**
     * 布防状态：0-撤防，1-布防，2-报警
     */
    @Excel(name = "布防状态：0-撤防，1-布防，2-报警")
    private Long armStatus;


}
